package com.hongyi.system.service;


import com.hongyi.common.mybatis.page.PageData;
import com.hongyi.common.mybatis.page.PageQuery;
import com.hongyi.system.domain.dto.SysNoticeDto;
import com.hongyi.system.domain.vo.SysNoticeVo;
import java.util.Collection;
import java.util.List;

/**
 * 通知公告Service接口
 * 
 * @author DingHao
 * @date 2025-01-24 10:14:00
 */
public interface ISysNoticeService {

    /**
     * 查询通知公告
     * 
     * @param noticeId 通知公告ID
     * @return 通知公告Vo
     */
    SysNoticeVo querySysNoticeVoById(Long noticeId);

    /**
     * 查询通知公告分页列表
     *
     * @param sysNoticeDto 通知公告业务对象
     * @param pageQuery 分页数据
     * @return 通知公告集合
     */
    PageData<SysNoticeVo> querySysNoticeVoPageList(SysNoticeDto sysNoticeDto, PageQuery pageQuery);

    /**
     * 查询通知公告列表
     * 
     * @param sysNoticeDto 通知公告
     * @return 通知公告集合
     */
    List<SysNoticeVo> querySysNoticeVoList(SysNoticeDto sysNoticeDto);

    /**
     * 新增通知公告
     * 
     * @param sysNoticeDto 通知公告
     * @return 执行条数
     */
    int addSysNotice(SysNoticeDto sysNoticeDto);

    /**
     * 修改通知公告
     * 
     * @param sysNoticeDto 通知公告
     * @return 执行条数
     */
    int editSysNotice(SysNoticeDto sysNoticeDto);

    /**
     * 批量删除通知公告
     * 
     * @param noticeIds 需要删除的通知公告ID
     * @return 执行条数
     */
    int removeSysNoticeByIds(Collection<Long> noticeIds);


}
